home *** CD-ROM | disk | FTP | other *** search
- /* MakeFontList V1.1 10.03.96 */
- /* Erstellt eine Font-Liste mit Final Writer */
- /* Dies kann einige Zeit benötigen, abhängig von */
- /* der Anzahl der Fonts in den Unterverzeichnissen */
- /* © 1995 by Martin Kindler */
-
- /* Makes a Font-List with Final Writer */
- /* This may take some time, depending */
- /* on the number of fonts in the subdirs */
- /* © 1995 by Martin Kindler */
-
-
- options results
- dummy=open('file','env:Language','read')
- if dummy then sprache=readln('file')
- dummy=close('file')
-
- if sprache="deutsch" then do
- /* Deutsche Texte */
- text="ABCDEÄÖÜ abcdefjäöüß 1234567890"
- pfadreq='"Wähle das Fontverzeichnis"'
- filereq='"Wähle den Dokumentname"'
- quellereq='"Wie lautet die Quelle?" '
- patternreq='"Wie lautet das Font-Suchmuster?"'
- druckreq='"Soll gleich gedruckt werden?" "" "" "Ja" "Nein" "Abbruch"'
- druck2req='"Bitte Drucker einschalten," "bzw. Umleitung aktivieren" "" "OK" "Abbruch" ""'
- hinweisreq='"Die Dateiliste (ram:liste) kann jetzt" "falls gewünscht editiert werden" "" "Weiter" "Abbruch" ""'
- seitereq='"Startseitennummer?"'
- fehlerreq='"Konnte keinen Font finden" "Suchpfad: '
- fehlerreq2='" "Suchmuster: '
- fehlerreq3='" "OK" "" ""'
- kopftxt="Quelle: "
- kopftxt2=" Seite: "
- fehler2txt="Wurde nicht als Font erkannt"
- fehler3txt="Seite "
- fehler3txt2=" wurde nicht als Font erkannt"
- fertigreq='"Fontliste erstellt !!" "" "" "OK" "" ""'
- end
-
- else do
- /* English texts */
- text="ABCDE abcdefj 1234567890"
- pfadreq='"Choose font drawer"'
- filereq='"Choose document name"'
- quellereq='"Set source name" '
- patternreq='"Set font search pattern"'
- druckreq='"Should I print the document" "" "" "Yes" "No" "Cancel"'
- druck2req='"Pleas switch printer on" "or activate printer redirection" "" "OK" "Cancel" ""'
- hinweisreq='"You can now edit the" "file list (ram:liste) if you want" "" "Continue" "Cancel" ""'
- seitereq='"Start page number?"'
- fehlerreq='"No font found" "Searchpath: '
- fehlerreq2='" "Searchpattern: '
- fehlerreq3='" "OK" "" ""'
- kopftxt="Source: "
- kopftxt2=" Page: "
- fehler2txt="Could not be identified as a font"
- fehler3txt="Page "
- fehler3txt2=" could not be identified as a font"
- fertigreq='"Font list made !!" "" "" "OK" "" ""'
- end
-
-
- ClearDoc
-
- /* Seitenhöhe bestimmen */
- GetSectionSetup "Top"
- oben=overlay('.',Result,pos(',',Result))
- GetSectionSetup "Bottom"
- unten=overlay('.',Result,pos(',',Result))
- GetPageSetup "Height"
- hoch=overlay('.',Result,pos(',',Result))
- hoch=(hoch -oben -unten)*10
-
- /* Parameter abfragen */
- ScreenToBack
- address command 'requestfile >env:ReqAsk drawersonly noicons pattern "~(#?)" title '||pfadreq
- dummy=open('file','env:ReqAsk','read')
- Pfad = strip(strip(readln('file'),'b',d2c(10)),'b',d2c(34))
- dummy=close('file')
- Quelle=left(Pfad,pos(':',Pfad))
- address command 'requestfile >env:ReqAsk noicons title '||filereq||' drawer "Work:FinalWriter/FWDocs" file "'||left(Quelle,length(Quelle)-1)||'"'
- dummy=open('file','env:ReqAsk','read')
- File = strip(strip(readln('file'),'b',d2c(10)),'b',d2c(34))
- dummy=close('file')
- ScreenToFront
- if File='' then exit
- RequestText '"MakeFontList" '||quellereq||d2c(34)||Quelle||d2c(34)
- Quelle=Result
- if Quelle="RESULT" then exit
- Result="RESULT"
- RequestText '"MakeFont List" '||patternreq||' "#?.PFB"'
- Pattern=Result
- if Pattern="RESULT" then exit
- if (Pattern='#?'|Pattern='') then Pattern='~(#?.info)'
- ShowMessage 1 0 druckreq
- if Result=3 then exit
- if Result=2 then druck=0
- else do
- druck=1
- ShowMessage 1 0 druck2req
- if Result=2 then exit
- end
-
- /* Dateiliste erstellen */
- address command 'list '||d2c(34)||Pfad||'#?'||d2c(34)||' >ram:liste files pat '||Pattern||' lformat="%p%n" all'
- address command 'sort ram:liste ram:liste'
- ShowMessage 1 0 hinweisreq
- if Result=2 then exit
-
- Result=""
- RequestText '"MakeFontList" '||seitereq||' "1"'
- Seite=Result
- if Seite="" then exit
-
- /* 1.Seite vorbereiten */
- dummy=open('datei','ram:liste','read')
- if ~dummy then exit
- fname=strip(readln('datei'),'b',d2c(34))
- if fname="" then do
- ShowMessage 1 0 fehlerreq||Pfad||fehlerreq2||Pattern||fehlerreq3
- dummi=close('datei')
- exit
- end
- address command 'delete '||""||file||'.log'||""
- aPfad=''
- Font "SoftSans"
- FontSize 12
- Type kopftxt||Quelle||kopftxt2||Seite
- i=5.08 /* 25,4/60*12=5,08 */
-
- /* Fontliste erstellen */
- do until eof('datei')
- Font "SoftSans"
- FontSize 8
- name=right(fname,length(fname)-lastpos('/',fname))
- if name=fname then name=right(fname,length(fname)-lastpos(':',fname))
- nPfad=left(fname,length(fname)-length(name))
- if nPfad~=aPfad then do
- dummy=umbruch(11.8533333) /* 25,4/60*8*2+25,4/60*12=11,8533333 */
- Type d2c(10)||d2c(10)||"Dir: "||nPfad
- i=i+6.7733333 /* 25,4/60*8*2=6,7733333 */
- aPfad=nPfad
- end
- dummy=umbruch(5.08) /* 25,4/60*12=5,08 */
- if dummy then iterate
- Type d2c(10)||name||": "
- Status "LinePos"
- linie=word(Result,1)
- FontSize 12
- Font ""||fname||""
- if rc~=0 then do
- Type fehler2txt
- dummy=log()
- end
- else Type text
- Status "LinePos"
- do while word(Result,1)~=linie
- BackSpace
- Status "LinePos"
- end
- i=i+5.08 /* 25,4/60*12=5,08 */
- fname=strip(readln('datei'),"b",d2c(34))
- end
-
- /* Letzte Seite */
- dummy=close('datei')
- address command 'delete ram:liste'
- filename=""||file||"."||right(Seite,3,"0")||""
- save filename
- if druck then Print
- ShowMessage 1 0 fertigreq
- exit
-
- umbruch: /* Reicht Seite noch? Wenn nein dann neue Seite */
- arg neu
- if i+neu~>hoch then return 0
- filename=""||file||"."||right(Seite,3,"0")||""
- save filename
- if druck then Print
- ClearDoc "Force"
- Seite=Seite+1
- FontSize 12
- Type kopftxt||Quelle||kopftxt2||Seite
- i=5.08
- aPfad=''
- FontSize 8
- return 1
-
- log: /* Erstellen eines Eintrags im Logfile */
- filename=""||file||".log"||""
- erg=Open('test',filename,'READ')
- dummy=close('test')
- if erg then dummy=Open('logfile',filename,'APPEND')
- else dummy=Open('logfile',filename,'WRITE')
- if dummy=0 then return 0
- fehler=fehler3txt||Seite||': '||fname||fehler3txt2
- writeln('logfile',fehler)
- dummy=close('logfile')
- return 1
-